<?php
/**
 * Created by PhpStorm.
 * User: admin
 * Date: 2018/6/13
 * Time: 23:51
 */

namespace app\common\model;

use app\common\lib\Util;
use app\common\model\Base;
use think\Cache;

/**逻辑更新模型
 * Class SystemLogicVersion
 * @package app\common\mode
 */
class SystemLogicVersion extends Base
{
    protected $table = 'wechatadmin.system_logic_version';

    /**
     * 获取逻辑版本信息
     * @param array $map
     * rid int
     * type tinyint
     * @return bool|int|mixed
     */
    public function getVersion($map = [])
    {
        $arr = ['version' => 0, 'title' => '', 'content' => ''];

        if ($map['type'])
        {
            if ($map['type'] == 3 && request()->header('version') && Util::CheckAppVersion('2.10.1') === '小')
            {   // 旧版本 不获取当前最新的逻辑版本信息 登录情况（有version）下     当前处理是因为 计算队列没有version 但需要获取最新的逻辑版本
                return $arr;
            }
            $data = false;
            if ($this->cache_on >= 1)
            {
                $data = Cache::get('logic_info_' . $map['type']);
            }

            if ($data === false)
            {
                $where = ['type' => $map['type'], 'status' => 1];
                try
                {
                    $data = $this->field('version,title,content')
                        ->where($where)
                        ->order('version DESC')
                        ->findOrFail()->toArray();
                }
                catch (\Exception $e)
                {
                    $data = $arr;
                }
                if ($this->cache_on >= 1)
                {
                    Cache::set('logic_info_' . $map['type'], $data, 86400 * 7);
                }
            }
            return $data;
        }
        return $arr;
    }


}
